iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 9
0
自我挑戰組

CPE 一星精選全攻略系列 第 9

Day9 #UVa 10056 & UVa 10170

  • 分享至 

  • xImage
  •  

UVa 10056 - What is the Probability ?

題目連結

題目說明

給你總人數和獲勝機率,判斷出第 i 個人的獲勝機率是多少。

做法

q = 1 - p;
透過歸納我們可以得知第 R 回合獲勝的機率為
(q^(R-1)*n)*(q^(i-1))*p
再利用等比級數整理
(q^(i-1)*p) / (1-q^n)

#include <bits/stdc++.h>

using namespace std;

int main() {
    int kase;
    cin >> kase;
    while (kase--) {
        double n, p, i;
        cin >> n >> p >> i;
        double q = 1 - p;
        if(p==0)
        	cout<<"0.0000"<<endl;
        else
        	printf("%.4f\n", (pow(q, (i - 1)) * p) / (1 - pow(q, n)));
    }
    return 0;
}

UVa 10170

題目連結

題目說明

有個神奇的旅店,每次入住多少人必須住多少天,且下一批人一定比上一批旅客多一人,請你求出第 i 天入住的有多少人。

做法

直接累加,當入住天數大於第 i 天時,代表上一團的人已經經過第 i 天了。

#include <bits/stdc++.h>

using namespace std;

int main(){
    long long int n,d;
    while(cin>>n>>d){
        long long int day=1;
        while(day<=d){
            day+=n;
            n++;
        }
        cout<<n-1<<endl;
    }
    return 0;
}

上一篇
Day8 # UVa 12019 & UVa 10038
系列文
CPE 一星精選全攻略9
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言